The present invention relates to distributed Redundant Array of Independent Disks (RAID) arrays, and more specifically, to regaining redundancy in distributed RAID arrays using unallocated capacity.
A RAID array is a data storage virtualization that combines multiple physical disk drives into a single logical unit for the purposes of data redundancy. Data is distributed across the drives in various ways depending on the required level of redundancy and performance, which determines which level of RAID array to use.
A RAID array has a set amount of redundancy based on how much parity is provided. For example, RAID 5 has one stripe of parity for a set of data stripes, and RAID 6 has two stripes of parity for a set of data stripes. Data can be considered critical if a single drive failure will result in loss of data. The use of spare drives allows redundancy to be regained; for example, a RAID 5 array becomes critical after a single drive failure, but it can rebuild that data onto a spare drive such that it becomes redundant again.
In a distributed RAID array, the data is split into redundancy units, which contain the associated parity, and those redundancy units are spread over the available drives. Spares can then be available either as a distributed spare or as an external/global spare. A redundancy unit only uses a subset of the drives, so in the case of a drive failure some redundancy units will lose redundancy and others will not.